﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

namespace UBCon.Navigation
{
    public class DropDownMenuItem : MenuItem
    {
        #region Constructors

        static DropDownMenuItem() 
        {
            Type ownerType = typeof(DropDownMenuItem);
            DropDownMenuItem.DefaultStyleKeyProperty.OverrideMetadata(ownerType,
                new FrameworkPropertyMetadata(ownerType));
        }
        #endregion

        #region Properties

        public ImageSource Image
        {
            get { return (ImageSource)GetValue(ImageProperty); }
            set { SetValue(ImageProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Image.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ImageProperty =
            DependencyProperty.Register("Image", typeof(ImageSource), typeof(DropDownMenuItem), new FrameworkPropertyMetadata(null));

        public double MaxDropDownWidth
        {
            get { return (double)GetValue(MaxDropDownWidthProperty); }
            set { SetValue(MaxDropDownWidthProperty, value); }
        }

        // Using a DependencyProperty as the backing store for MaxDropDownWidth.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty MaxDropDownWidthProperty =
            DependencyProperty.Register("MaxDropDownWidth", typeof(double), typeof(DropDownMenuItem), new FrameworkPropertyMetadata(600.0D));

        public GallerySet Galleries
        {
            get { return (GallerySet)GetValue(GalleriesProperty); }
            set { SetValue(GalleriesProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Galleries.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty GalleriesProperty =
            DependencyProperty.Register("Galleries", typeof(GallerySet), typeof(DropDownMenuItem), new PropertyMetadata(null));
        
        #endregion

        #region Depenency Property Changed Callbacks
        #endregion

        #region Overrides

        #endregion

        #region Private Utilities
        #endregion

        #region Event Handlers
        #endregion

        #region Fields
        #endregion

        #region Events
        #endregion
    }
}
